home *** CD-ROM | disk | FTP | other *** search
/ Whiteline: delta / whiteline CD Series - delta.iso / tools / falc_uti / mgx / wiegehts.txt < prev   
Text File  |  1995-11-25  |  30KB  |  629 lines

  1.     MagiC 3.0x auf dem Falcon030, zweiter Anlauf - Stand: 27.06.1995
  2.     ----------------------------------------------------------------
  3.  
  4.  
  5.     1. Vorwort
  6.     ----------
  7.  
  8.     1.1. Zum ersten Release
  9.     -----------------------
  10.  
  11.     Die Version dieses "Hacks" für MagiC 2 dürfte ja inzwischen einigen
  12.     bekannt sein, da jedoch mittlerweile viele nur noch ein Interesse an 
  13.     der Benutzung von MagiC 3 auf dem Falcon haben, habe ich den Hack jetzt 
  14.     auch daran angepaßt. Die Vorgehensweise ist dabei fast identisch, 
  15.     ebenso wie dieser Text. Ich habe mich jedoch entschlossen, ein 
  16.     separates Archiv zu nehmen, um umständliche Satzkonstruktionen wie 
  17.     "Wenn man MagiC 2 hat, muß man jetzt... Aber nicht mit MagiC 3, da muß 
  18.     man..." zu vermeiden und Verwechslungen vorzubeugen.
  19.  
  20.     Gleich vorweg: ich kann keinerlei Garantie für die korrekte Funktion 
  21.     dieses "Hacks" geben, deshalb sollte jedem klar sein, daß er dies alles 
  22.     auf *eigene Gefahr* durchführt (dies gilt insbesondere für die 
  23.     beschriebenen Patches für MAGIC.RAM). Ich übernehme also auch keine 
  24.     Haftung für Schäden, die direkt oder indirekt durch die Ausführung des 
  25.     hier Beschriebenen oder die Benutzung der im Archiv enthaltenen 
  26.     Programme entstanden sind ("indirekt" schließt hier ausdrücklich auch 
  27.     Auswirkungen ein, die durch spätere Benutzung des "gehackten" MagiC 
  28.     aufgetreten sind).
  29.  
  30.     Die Veröffentlichung dieses Hacks für MagiC 3 ist nicht direkt mit ASH 
  31.     abgesprochen, aber da man nichts gegen die Veröffentlichung der Version 
  32.     für MagiC 2 einzuwenden hat, gehe ich davon aus, daß auch hier keine 
  33.     Einwände bestehen. Letzlich gäbe es auch nichts, weswegen man es mir 
  34.     verbieten könnte, da alle in diesem Archiv enthaltenen Programme mein 
  35.     Copyright tragen...
  36.  
  37.     Bevor man sich in übergroßer Erwartung auf den Durchführungsteil 
  38.     stürzt, sollte man sich zunächst Abschnitt 5 über die Einschränkungen 
  39.     durchlesen und danach gut überlegen, ob man es trotzdem versuchen will.
  40.  
  41.     Ach ja, falls es jemand noch nicht gemerkt haben sollte: Dieser Hack 
  42.     ist für MagiC _3.0x_ gedacht, für MagiC 2 existiert ein separates 
  43.     Archiv mit dem Namen MGX2FCR3.LZH.
  44.  
  45.     Außerdem bitte ich darum, meine Mühe durch Geld- oder Sachspenden zu 
  46.     honorieren (Details in Abschnitt 8). Für die Arbeit, die in diesem Hack 
  47.     für MagiC 3 steckt (es ist natürlich in weiten Teilen die Arbeit, die 
  48.     für den Hack für MagiC 2 nötig war), hätte ein professioneller 
  49.     Programmierer sicherlich gut kassiert, und deswegen wäre es nur fair, 
  50.     mir wenigstens eine kleine Anerkennung zukommen zu lassen, zumal ich 
  51.     von ASH sicherlich nichts zu erwarten habe...
  52.  
  53.  
  54.     1.2. Zum zweiten Release
  55.     ------------------------
  56.  
  57.     Oh, oh, da hat sich doch ein böses Versäumnis eingeschlichen: Bei der 
  58.     zweiten Patchvariante zur Vorbereitung höherer Auflösungen (kurz: 
  59.     Videopatch) wird nach einer Bytefolge gesucht, die eine Systemvariable 
  60.     von MagiC beinhaltet. Dummerweise hatte ich vergessen, daß sie bei 
  61.     MagiC 3 an einer anderen Adresse liegt und daher natürlich auch nach 
  62.     einer anderen Bytefolge gesucht werden muß. Also ist dieser 
  63.     Patchversuch bei jedem, der ihn an einer MAGIC.RAM von MagiC 3 
  64.     durchführen wollte, zwangsweise fehlgeschlagen. Sorry, daß hatte ich 
  65.     ganz einfach übersehen... Wer den Patch jetzt nachholen will, sollte 
  66.     unter 3.2.1. nachschauen, da ist jetzt die richtige zu suchende 
  67.     Bytefolge angegeben.
  68.  
  69.  
  70.     2. Unterschiede zum Hack für MagiC 2
  71.     ------------------------------------
  72.  
  73.     Für den Interessierten hier eine kurze Beschreibung, was die Version 
  74.     für MagiC 3 von der für MagiC 2 unterscheidet:
  75.  
  76.     - In MGFPATCH.PRG mußte die zu ändernde MagiC-interne Systemvariable, 
  77.       die die Erkennung von DD-Disketten ermöglicht, angepaßt werden
  78.     - Ein weiterer Patch an MAGIC.RAM ist nötig geworden, da der Kernel, 
  79.       wenn sich nach dem Ausführen des Bootsektors der Vektor hdv_rw 
  80.       geändert hat (und genau das ist ja beim FixMe-Bootsektor der Fall, da 
  81.       er den Plattentreiber startet), eine Routine _nicht_ ausführt, die, 
  82.       soweit ich das beim ersten Überfliegen gemerkt habe, wichtig für das 
  83.       weitere Speichermanagement ist. Das führt leider dazu, daß MagiC 3 
  84.       nach dem Bootsektor sofort abstürzt. Der neue Patch verhindert das.
  85.     - MagiC 3 stellt zwar den GEMDOS-Call Srealloc zur Verfügung, den 
  86.       BlowUP bzw. Screenblaster benötigen, um Speicher für den Bildschirm 
  87.       anzufordern, aber leider hat sich gezeigt, daß dies zumindest mit 
  88.       BlowUP irgendwie nicht klappt (Srealloc liefert 0 zurück, obwohl 
  89.       eigentlich genug Speicher frei ist). Daher habe ich MGFVIDEO.PRG 
  90.       unverändert gelassen, was zwar unter Umständen zu einem gewissen 
  91.       Speicherverlust führt, der sich aber in der Regel verkraften lassen 
  92.       sollte.
  93.     - Für die zweite Variante des "Videopatchs" (siehe 3.2.1.) muß nach 
  94.       einer geringfügig anderen Bytefolge gesucht werden, die jedoch mit 
  95.       den gleichen neuen Werten überschrieben werden muß.
  96.  
  97.  
  98.     3. Was ist zu tun?
  99.     -------------------
  100.  
  101.     Ich erkläre hier das Vorgehen schrittweise: Die Installation von MagiC 
  102.     und der Zusatzprogramme auf Festplatte, die nötigen Patches für 
  103.     MAGIC.RAM, Vorbereitungen für höhere Auflösungen, Erzeugen des FixMe-
  104.     Bootsektors und eventuelle zusätzliche Schritte.
  105.  
  106.  
  107.     3.1. Installation von MagiC und den Zusatzprogrammen
  108.     ----------------------------------------------------
  109.  
  110.     Der erste Schritt ist es, den Falcon in ST-Mittel booten zu lassen, was 
  111.     sich leicht mit einem der vielen NV-Ram-Konfigurationstools erreichen 
  112.     läßt. Dabei darauf achten, daß man wirklich den Kompatibilitätsmodus 
  113.     mit 640x200 in 4 Farben gewählt hat und nicht versehentlich 640x240 in 
  114.     4 Farben. Wer den Falcon nur am SM124 betreibt, braucht sich hierüber 
  115.     natürlich keine Sorgen zu machen... Wer das nicht möchte, weil ST-
  116.     Mittel auf einem VGA-Monitor einfach nur grausam aussieht, kann 
  117.     alternativ dazu das Miniprogramm STMED.PRG in den Auto-Ordner kopieren, 
  118.     dazu gleich.
  119.  
  120.     Man installiert MagiC ganz einfach mit dem Installationsprogramm auf 
  121.     der Bootpartition (also in der Regel C:), wobei als Bootauflösung 
  122.     "Default" zu wählen ist. Anschließend sollte man MAGXBOOT.PRG mit einem 
  123.     geeigneten Utility (z.B. XBoot oder DirSort) möglichst weit an den 
  124.     physikalischen Anfang des Auto-Ordners verschieben (am besten direkt 
  125.     hinter den eventuell vorhandenen Bootwähler). Wer, wie oben 
  126.     beschrieben, STMED.PRG statt der Umkonfiguration des Falcons benutzen 
  127.     möchte, muß es jetzt direkt vor MAGXBOOT.PRG schieben, sonst wird beim 
  128.     Booten von MagiC in einen unsinnigen (u.U. sogar für den Monitor 
  129.     gefährlichen) Videomodus geschaltet.
  130.  
  131.     Als nächstes wird das Programm MGFPATCH.PRG aus diesem Archiv in den 
  132.     Auto-Ordner der Bootpartition kopiert, und zwar möglichst direkt 
  133.     hinter MAGXBOOT.PRG.
  134.  
  135.     Wer nicht nur in ST-Mittel arbeiten möchte, muß als nächsten Schritt 
  136.     das Programm MGFVIDEO.PRG in den Auto-Ordner kopieren, und zwar 
  137.     physikalisch _vor_ ein vorhandenes NVDI. Weitere Ausführungen dazu 
  138.     unter Abschnitt 3.3.
  139.  
  140.     Als letztes Zusatzprogramm muß noch MGFSNDFX.PRG in den Auto-Ordner 
  141.     kopiert werden, wobei hier die Position innerhalb des Ordners 
  142.     unerheblich ist.
  143.  
  144.  
  145.     3.2. Nötige Patches für MAGIC.RAM
  146.     ---------------------------------
  147.  
  148.     Für den Betrieb am Falcon sind ein paar Änderungen an der Datei 
  149.     MAGIC.RAM nötig. Da es verschiedene Versionen dieser Datei gibt, muß 
  150.     die Änderung über Suchen und Ersetzen von Bytefolgen geschehen, da die 
  151.     Offsets von Version zu Version unterschiedlich sind. Sollte eine der 
  152.     Bytefolgen nicht zu finden sein (unwahrscheinlich), läßt sich der 
  153.     jeweilige Patch nicht durchführen, was leider dazu führt, daß dieses 
  154.     MagiC nicht oder nur eingeschränkt auf dem Falcon benutzt werden kann.
  155.  
  156.     Ebenso gilt: Ist die angegebene zu suchende Bytefolge in MAGIC.RAM mehr 
  157.     als einmal vorhanden, kann nicht eindeutig gepatcht werden, womit ein 
  158.     Betrieb am Falcon auch unmöglich oder zumindest stark eingeschränkt 
  159.     wird. Allerdings ist dies ebenfalls sehr unwahrscheinlich, sei aber 
  160.     sicherheitshalber erwähnt.
  161.  
  162.     Zum Patchen nimmt man am besten ein Disktool, das in einer Datei nach 
  163.     Bytefolgen suchen kann und dann auch Änderungen zuläßt, oder einen 
  164.     Debugger. Als Disktool sei Diskus genannt, als Debugger eignen sich 
  165.     Peacebug oder Bugaboo (wobei man MAGIC.RAM per LOAD und nicht mit 
  166.     LEXECUTE laden muß!)
  167.  
  168.     Die prinzipielle Vorgehensweise ist einfach: Es muß eine gegebene Byte- 
  169.     bzw. Wortfolge gesucht und danach ganz oder teilweise geändert werden. 
  170.     Beim Patch aus 3.2.2. muß dabei aufgepaßt werden, denn es muß nach 4 
  171.     Worten gesucht, ab der Fundstelle aber 24 Worte ersetzt werden. In 
  172.     diesem Fall müssen also nicht nur die 4 gefundenen, sondern auch die 20 
  173.     nach der gesuchten Folge stehenden Wörter durch neue ersetzt werden.
  174.  
  175.     Bevor man munter drauflospatcht sollte man erstmal eine Kopie der Datei 
  176.     MAGIC.RAM anlegen, damit man, falls etwas schiefläuft, nicht gleich neu 
  177.     installieren muß.
  178.  
  179.     Selbstverständlich darf die so gepatchte MAGIC.RAM auch nur noch am 
  180.     Falcon betrieben werden!
  181.  
  182.  
  183.     3.2.1. Vorbereitung höherer Auflösungen und des Betriebs am SM124
  184.     -----------------------------------------------------------------
  185.  
  186.     Diese beiden Patches werden nur dann benötigt, wenn man MagiC mit dem 
  187.     SM124 oder, bei den anderen Monitortypen, nicht nur in ST-Mittel 
  188.     benutzen will. Es gibt dafür zwei verschiedene Möglichkeiten, man muß 
  189.     sich für eine entscheiden, da beide zusammen unsinnig sind (Variante 2 
  190.     beinhaltet praktisch Variante 1).
  191.  
  192.     Variante 1:
  193.     -----------
  194.  
  195.     Dieser einfache Patch sorgt dafür, daß beim Erkennen eines 
  196.     Auflösungswechsels kein Reset mehr durchgeführt wird. Am SM124 werden 
  197.     wegen eines Unterschieds in einem Hardwareregister ständig 
  198.     Auflösungswechsel erkannt, bei den restlichen Monitortypen dann, wenn 
  199.     auf eine andere Auflösung als ST-Niedrig oder ST-Mittel umgeschaltet 
  200.     wird. Nachteil: STE-DMA-Sound kann mit diesem Patch nur am SM124 
  201.     benutzt werden (auch hier wegen eines Unterschieds in einem 
  202.     Hardwareregister), da sonst beim ersten gespielten Samplewert direkt 
  203.     auf ST-Hoch (und zwar mit den echten ST-Synchronisationswerten!) 
  204.     umgeschaltet wird.
  205.  
  206.     In MAGIC.RAM die Bytefolge 0x6010, 0x4a01, 0x6a1a suchen und 0x6a1a 
  207.     durch 0x601a ersetzen.
  208.  
  209.     Variante 2:
  210.     -----------
  211.  
  212.     Dieser etwas umfangreichere (und auch riskantere) Patch entfernt die 
  213.     komplette Auflösungserkennung aus der VBL-Routine von MagiC und sorgt 
  214.     so dafür, daß kein Reset mehr durchgeführt wird _und_ DMA-Sounds mit 
  215.     allen Monitortypen gespielt werden können. Nachteil: Es wird ein 
  216.     Sprungbefehl neu erzeugt, und es ist nicht garantiert, daß dieser bei 
  217.     allen Versionen von MAGIC.RAM auch das richtige Ziel trifft.
  218.  
  219.     In MAGIC.RAM die Bytefolge 0x4a38, 0x0c6a, 0x676a suchen und die ersten 
  220.     beiden Werte durch 0x6000, 0x00a6 ersetzen.
  221.  
  222.  
  223.     3.2.2. Anpassung der Disk-Schreibroutinen
  224.     -----------------------------------------
  225.  
  226.     Die Steuerung des Diskettenlaufwerks erfolgt beim Falcon geringfügig 
  227.     anders als beim TT, daher stürzen Programme, die direkt die Hardware 
  228.     ansprechen, beim Schreiben mit zwei Bomben ab, also auch der MagiC-
  229.     Kernel. Der folgende Patch quetscht die beim Falcon nötige Bittest-
  230.     Schleife in die MagiC-Diskroutinen, wobei eine Abfrage auf >= 68030 
  231.     herausfällt, was beim Falcon aber nicht von Bedeutung ist. Vielen Dank 
  232.     an dieser Stelle an Uwe Seimet, der mir den genannten Unterschied 
  233.     zwischen TT und Falcon erklärt hat.
  234.  
  235.     Für diesen Patch folgende Bytefolge suchen: 0x611e, 0x31c6, 0x8604, 
  236.     0x4e75. Ab der Fundposition (inklusive!) folgende Werte einsetzen 
  237.     (nicht einfügen, auch wenn es mehr Bytes sind, nur überschreiben!):
  238.     0x6126, 0x31c6, 0x8604, 0x6018, 0x611e, 0x31c7, 0x8604, 0x6010,
  239.     0x6116, 0x3e38, 0x8604, 0x4e75, 0x610e, 0x3038, 0x8604, 0x4e75,
  240.     0x0838, 0x0003, 0x860f, 0x66f8, 0x48e7, 0xc000, 0x4e7a, 0x0002.
  241.  
  242.  
  243.     3.2.3. Vorbereitung für Warmstarts per Tastatur
  244.     -----------------------------------------------
  245.  
  246.     Normalerweise stürzt MagiC beim Versuch, mit CTRL-ALT-DEL einen 
  247.     Warmstart auszulösen, wunderschön ab. Gleiches gilt für 
  248.     Auflösungswechsel aus Thing oder Ease heraus. Da sich das Problem nicht 
  249.     alleine durch eine zusätzlich eingehängte Resetroutine lösen läßt (was 
  250.     von MGFPATCH.PRG gemacht wird, dazu später), muß die Warmstartroutine 
  251.     von MagiC durch einen Aufruf der "echten" Warmstartroutine des TOS 
  252.     ersetzt werden (MagiC geht dabei nicht verloren, weil es sich ja im 
  253.     Resetvektor eingenistet hat).
  254.  
  255.     In MAGIC.RAM die Bytefolge 0x4238, 0x0426, 0x46fc, 0x2700, 0x0c78 
  256.     suchen und die letzten drei Werte durch 0x2078, 0x0004, 0x4ed0 ersetzen.
  257.  
  258.  
  259.     3.2.4. Ermöglichen des Bootens von Festplatte
  260.     ---------------------------------------------
  261.  
  262.     Wie ich schon ich Abschnitt 2 beschrieben habe, ist bei MagiC 3 neben 
  263.     dem FixMe-Bootsektor noch ein Patch an MAGIC.RAM nötig, um von 
  264.     Festplatte booten zu können. Dazu die Bytefolge 0x6100, 0x10b6, 0x205f, 
  265.     0xb1f8, 0x0476, 0x660a suchen und 0x660a durch 0x6604 ersetzen.
  266.  
  267.  
  268.     3.3. Benutzung höherer Auflösungen
  269.     ----------------------------------
  270.  
  271.     Wer MagiC 3 am Falcon nicht nur in ST-Mittel betreiben will, muß 
  272.     weitere Vorbereitungen treffen. Eines ist dabei ganz wichtig: Die 
  273.     beschriebene Datei MGFVIDEO.INF muß immer mit einem CR/LF oder LF 
  274.     beendet werden, darf also nicht direkt mit einer Zahl enden!
  275.  
  276.     Darüberhinaus ist zu beachten, daß man immer XControl mit Farb-CPX 
  277.     geladen haben sollte, da sonst die Standardfarben nicht stimmen.
  278.  
  279.     3.3.1. Ohne NVDI
  280.     ----------------
  281.  
  282.     Wer kein NVDI hat, kann leider nur 640x400x2 (ST-Hoch) realisieren, 
  283.     aber das ist ja auch besser als nichts... Hierzu im Wurzelverzeichnis 
  284.     des Bootlaufwerks oder im Auto-Ordner die Datei MGFVIDEO.INF anlegen 
  285.     und ihr folgenden Inhalt geben:
  286.  
  287.     1:32768
  288.  
  289.     Mehr ist nicht zu tun.
  290.  
  291.  
  292.     3.3.2. Mit NVDI und Screenblaster/BlowUP
  293.     ----------------------------------------
  294.  
  295.     Mit dem Screenblaster I/II lassen sich in den Farbtiefen 2, 4 und 16 
  296.     höhere Auflösungen benutzen, mit BlowUP nur in 2 und 16 Farben. Die 
  297.     Benutzung der Screenblaster-III-Software ist leider nicht möglich. 
  298.     Vielleicht geht es, wenn man in der MAGX.INF #_DEV 5 einträgt, das 
  299.     konnte ich aber bisher nicht testen. Zur Not einfach mal ausprobieren...
  300.  
  301.     Zunächst muß berechnet werden, wieviel Speicher der Bildschirm in der 
  302.     maximal genutzten Auflösung und Farbtiefe benötigt (MagiC 3 kennt 
  303.     Srealloc zwar, aber zumindest mit BlowUP klappt es irgendwie nicht, 
  304.     deswegen muß MGFVideo den Speicher statisch im Voraus reservieren und 
  305.     Srealloc dann simulieren). Die Formel lautet:
  306.  
  307.     (X-Auflösung * Y-Auflösung) / Farbfaktor + 512
  308.  
  309.     Farbfaktor ist dabei für 16 Farben 2, für 4 Farben 4 und für 2 Farben 
  310.     8. Möchte man also höchstens 800x608x16 verwenden, ergibt sich der Wert 
  311.     243712.
  312.  
  313.     Als nächstes muß man im Wurzelverzeichnis des Bootlaufwerks oder im 
  314.     Auto-Ordner die Datei MGFVIDEO.INF anlegen und ihr folgenden Inhalt 
  315.     geben:
  316.  
  317.     Für BlowUP mit 2 Farben:
  318.     1:<Berechneter Wert>
  319.  
  320.     Für BlowUP mit 16 Farben:
  321.     2:<Berechneter Wert>
  322.  
  323.     Für Screenblaster:
  324.     0:<Berechneter Wert>
  325.  
  326.     Selbstverständlich muß für <Berechneter Wert> die Zahl eingetragen 
  327.     werden, die vorhin für die maximal gewünschte Auflösung bestimmt 
  328.     wurde, also 243712 für 800x608x16.
  329.  
  330.     Für Screenblaster I/II muß noch in der Datei MAGX.INF im 
  331.     Wurzelverzeichnis des Bootlaufwerks die 1 der Zeile #_DEV 1 durch den 
  332.     Wert für die gewünschte Default-Farbtiefe ersetzt werden: 2 für 16 
  333.     Farben, 3 für 4 Farben und 4 für 2 Farben. Eventuell klappt es mit 
  334.     Screenblaster III, wenn hier eine 5 eingetragen ist, aber das ist nur 
  335.     spekulativ. Wichtig: Dies gilt wirklich nur für Screenblaster! Bei 
  336.     BlowUP und ohne Auflösungserweiterung muß hier die 1 stehenbleiben!
  337.  
  338.     Es kann übrigens passieren, daß der Screenblaster-Screen zur 
  339.     Auflösungswahl etwas eigenartig aussieht, aber das sollte niemanden 
  340.     ernsthaft stören...
  341.  
  342.  
  343.     3.3.3. Mit NVDI ohne Auflösungserweiterung
  344.     ------------------------------------------
  345.  
  346.     Auch das ist möglich, allerdings ist man dann auf 640x400x2 (ST-Hoch) 
  347.     oder 640x480x16 (TT-Mittel) beschränkt. Für ersteres muß die Datei 
  348.     MGFVIDEO.INF im Wurzelverzeichnis des Bootlaufwerks oder im Auto-
  349.     Ordner folgenden Inhalt haben:
  350.  
  351.     1:32768
  352.  
  353.     Für TT-Mittel muß sie wie folgt aussehen:
  354.  
  355.     2:154112
  356.  
  357.  
  358.     3.4. Erzeugung des FixMe-Bootsektors
  359.     ------------------------------------
  360.  
  361.     Damit MagiC richtig booten kann muß eine HD-Diskette mit einem 
  362.     speziellen Bootsektor präpariert werden, der folgende Dinge erledigt 
  363.     (natürlich nur, wenn MagiC bereits aktiv ist):
  364.  
  365.     - Auslesen der Echtzeituhr und Übertragung in die GEMDOS/XBIOS-Uhr
  366.     - Korrektur der System-Cookies (dabei wird _SND auf 3 gesetzt, weil ja 
  367.       die neuen XBIOS-Aufrufe für das Soundsubsystem nicht vorhanden sind)
  368.     - Reset am SCSI-Bus (dies kann nicht in der von MGFPatch installierten 
  369.       Reset-Routine geschehen, weil hier die Systemtimer noch nicht aktiv 
  370.       sind)
  371.     - Bootversuch von dem/den gewünschten Device(s)
  372.  
  373.     Zur Installation des Bootsektors dient FIXINST.PRG. Nach dem Start wird 
  374.     man zunächst gefragt, welchen Typ von Bootsektor man haben möchte. 
  375.     Dabei bedeutet:
  376.  
  377.     IDE: Der Bootversuch erfolgt zunächst von IDE-Einheit 0, dann von den 
  378.     SCSI-Geräten 0 bis 7.
  379.  
  380.     SCSI: Der Bootversuch erfolgt zunächst von den SCSI-Geräten 0 bis 7, 
  381.     dann von IDE-Einheit 0 (dies ist besonders für die Leute gedacht, die 
  382.     keine interne Platte haben, um so den Timeout umgehen zu können).
  383.  
  384.     Disk: Es wird kein Bootversuch vorgenommen, stattdessen wird von 
  385.     Diskette gebootet. Für diesen Fall ist auf der gleichen Diskette ein 
  386.     Auto-Ordner anzulegen, in den zuerst der Harddisk-Treiber und danach 
  387.     das Programm AUTOX.PRG (aus dem Ordner AUTOX dieses Archivs) kopiert 
  388.     werden muß. Das X von AUTOX.PRG ist dabei durch den Buchstaben der 
  389.     Bootpartition zu ersetzen, also in den meisten Fällen durch C. Dadurch 
  390.     wird auch der Auto-Ordner der Festplatte ausgeführt.
  391.  
  392.     Als nächstes muß gewählt werden, ob der _VDO-Cookie eine STE- oder eine 
  393.     Falcon-Videohardware anzeigen soll. STE ist dabei nur zu wählen, wenn 
  394.     man kein NVDI hat oder NVDI ohne MGFVideo betreiben will.
  395.  
  396.     Jetzt wird der Bootsektor, nach einer Abfrage, auf die Diskette 
  397.     geschrieben. Dabei wird auch eine Datei mit dem Namen FIXME.OVL im 
  398.     Wurzelverzeichnis der Diskette angelegt, sie darf _auf keinen Fall_ 
  399.     gelöscht werden, weil sonst nicht richtig gebootet wird!
  400.  
  401.  
  402.     3.5. Restliche Schritte
  403.     -----------------------
  404.  
  405.     Die Vorbereitung von MagiC 3 für den Falcon ist damit abgeschlossen, 
  406.     eine wichtige Sache ist noch zu beachten: Benutzt man XBOOT, sollte man 
  407.     STMED.PRG physikalisch zwischen XBOOT und MAGXBOOT plazieren, auch wenn 
  408.     man den Falcon in ST-Mittel booten läßt (sonst wird nach dem Verlassen 
  409.     von XBOOT nicht auf ST-Mittel zurückschaltet). Außerdem darf XBOOT 
  410.     unter MagiC selbst nicht aufgerufen werden, weil es nämlich versucht, 
  411.     eine höhere Auflösung einzustellen, was zu dem frühen Zeitpunkt aber 
  412.     noch nicht möglich ist.
  413.  
  414.     Hat man alles fertig, kann man jetzt einen Reset auslösen und schauen, 
  415.     ob alles so funktioniert, wie es soll (die Diskette mit dem FixMe-
  416.     Bootsektor muß selbstverständlich eingelegt sein). Dabei sollte man 
  417.     zunächst möglichst wenig zusätzliche Auto-Ordner-Programme (außer 
  418.     natürlich den für MagiC zwingend nötigen) oder Accessories aktiv haben, 
  419.     weil einige nicht richtig mit MagiC laufen. Vor allem darf man keine 
  420.     Falcon-spezifischen Sachen aktiv haben, sonst gibt's Müll...
  421.  
  422.     Sollte nach dem Reset MagiC nicht wie gewünscht booten oder laufen, 
  423.     sollte man sich Abschnitt 7 ansehen und, wenn das nichts hilft, mit mir 
  424.     Kontakt aufnehmen.
  425.  
  426.  
  427.     4. Kurzbeschreibung der Auto-Ordner-Programme
  428.     ---------------------------------------------
  429.  
  430.     MGFPATCH.PRG:
  431.     Dieses residente Programm installiert eine Reset-Routine, die dafür 
  432.     sorgt, daß die Video- und die Soundhardware zurückgesetzt wird, da 
  433.     sonst der Warmstart hängenbleibt. Darüberhinaus klinkt es sich in den 
  434.     BIOS- und den XBIOS-Trap ein und sorgt dort durch kurzzeitiges Ändern 
  435.     einer MagiC-internen Systemvariablen dafür, daß DD-Disketten korrekt 
  436.     erkannt werden.
  437.  
  438.     MGFVIDEO.PRG:
  439.     Dieses ebenfalls residente Programm klinkt sich in GEMDOS und XBIOS ein 
  440.     und fingiert dort, dem Inhalt von MGFVIDEO.INF entsprechend, den GEMDOS-
  441.     Call Srealloc sowie einige XBIOS-Calls des Falcons. Sie sind dadurch 
  442.     aber nicht korrekt vorhanden, sondern lediglich so implementiert, daß 
  443.     NVDI und Screenblaster/BlowUP darauf hereinfallen.
  444.  
  445.     MGFSNDFX.PRG:
  446.     Setzt das Soundsubsystem in den STE-kompatiblen Modus. Da es nicht 
  447.     resident ist, kann es auch nachträglich erneut gestartet werden, was 
  448.     unter Umständen nötig ist, wenn ein Programm mit STE-DMA-Sound 0xff8900 
  449.     überschreibt und somit die Frame-Ende-Interrupts abschaltet.
  450.  
  451.     STMED.PRG:
  452.     Miniprogramm, das auf ST-Mittel umschaltet.
  453.  
  454.     AUTOX.PRG:
  455.     Programm zum Abarbeiten eines Auto-Ordners auf einem beliebigen anderen 
  456.     GEMDOS-Laufwerk, siehe separate Anleitung im Ordner AUTOX dieses 
  457.     Archivs.
  458.  
  459.  
  460.     5. Einschränkungen von MagiC 3 auf dem Falcon
  461.     ---------------------------------------------
  462.  
  463.     - Die Ansteuerung der seriellen Schnittstelle scheint nicht zu 
  464.       funktionieren (kann ich nicht selbst testen). Ach ja, mit HSMODEM 
  465.       klappt es jedenfalls einwandfrei.
  466.     - Es sind nur bedingt höhere Auflösungen möglich (siehe Abschnitt 3.3)
  467.     - Hintergrund-DMA dürfte weder mit Platten am IDE- noch mit solchen am 
  468.       SCSI-Bus funktionieren, daher sollte man diese Option abschalten und 
  469.       nur das Programm FLOCK_OK.PRG aus der MagiC-3-Distribution benutzen, 
  470.       um den Floppy-Hintergrundbetrieb nutzen zu können (habe ich aber 
  471.       selbst nicht probiert!)
  472.     - Natürlich hat auch MagiC 3.0x keine der neuen Systemfunktionen des 
  473.       Falcon, daher können Sound-Subsystem, DSP und VIDEL nur per direktem 
  474.       Hardware-Zugriff angesteuert werden. Aus diesem Grund wird auch der 
  475.       _SND-Cookie vom FixMe-Bootsektor nur auf 3 gesetzt (also Yamaha- und 
  476.       STE-DMA-Sound). MGFSNDFX.PRG sorgt dann dafür, daß das Soundsubsystem 
  477.       in den STE-kompatiblen Modus geschaltet wird.
  478.     - Es gibt einen guten Grund, warum SndFix nicht in den FixMe-Bootsektor 
  479.       integriert ist: manche Programme mit STE-DMA-Sound überschreiben 
  480.       0xff8900, so daß alle Frame-Ende-Interrupts abgeschaltet sind. In 
  481.       diesem Fall muß MGSNDFX.PRG einfach nochmals gestartet werden, dann 
  482.       sollte das Abspielen von Samples wieder möglich sein.
  483.     - Man sollte Programme mit STE-DMA-Sound nur dann benutzen, wenn man 
  484.       MagiC am SM124 betreibt oder den zweiten Video-Patch vorgenommen hat, 
  485.       da an allen anderen Monitoren sonst versucht wird, auf ST-Hoch 
  486.       umzuschalten (mit 71Hz, und das geht nie gut...)
  487.     - Beim Booten von MagiC *muß* die Diskette mit dem FixMe-Bootsektor 
  488.       eingelegt sein, sonst klappt's nicht!
  489.     - Wenn man alle diese Einschränkungen berücksichtigt, ist ein Betrieb 
  490.       von MagiC 3.0x auf dem Falcon möglich. Allerdings funktioniert nicht 
  491.       alles so, wie es soll, daher ist es besser, auf die offizielle Falcon-
  492.       Version zu warten, wenn man MagiC im Dauerbetrieb nutzen will. 
  493.       Allerdings ist es in meinen Augen durchaus sinnvoll einsetzbar, 
  494.       solange man auf Falcon-spezifische Software verzichten kann.
  495.  
  496.  
  497.     6. Darf der Hack weitergegeben werden?
  498.     --------------------------------------
  499.  
  500.     Klar doch. Aber nur kostenlos (PD-Versender dürfen es auch, solange der 
  501.     Diskettenpreis <= 10 DM ist) und nur das Originalarchiv, auch nicht 
  502.     ausgepackt. Das soll keine Schikane sein, es soll nur (halbwegs) 
  503.     sicherstellen, daß keine Datei fehlt und dieser Text unverändert 
  504.     vorhanden ist.
  505.  
  506.     AutoX (im entsprechenden Ordner des Archivs) darf übrigens separat 
  507.     weitergegeben werden, näheres dazu findet sich in der dazugehörigen 
  508.     Beschreibung.
  509.  
  510.  
  511.     7. Wenn's nicht klappt
  512.     ----------------------
  513.  
  514.     Leider kann ich, wie bereits gesagt, nicht garantieren, daß das hier 
  515.     Beschriebene bei jedem klappt. Ich zumindest habe bisher auf zwei 
  516.     Falcons mit TOS 4.01 und TOS 4.04 (wobei die TOS-Version eigentlich 
  517.     keine Rolle spielen dürfte) den Hack erfolgreich getestet. Sollte es 
  518.     dennoch nicht klappen, hier eine kleine Liste mit Problemen und ihren 
  519.     möglichen Lösungen.
  520.  
  521.     Problem:
  522.     Beim Ausführen von MAGXBOOT.PRG schaltet der Falcon in einen unsinnigen 
  523.     Videomodus (sprich: es flimmert wie der Weltmeister) und nix weiter 
  524.     passiert.
  525.  
  526.     Mögliche Lösungen:
  527.     Es wurde vergessen, den Falcon so zu konfigurieren, daß er in ST-Mittel 
  528.     bootet, oder STMED.PRG direkt vor MAGXBOOT.PRG zu plazieren. Im ersten 
  529.     Fall die Konfiguration ändern (und zwar wirklich auf den 
  530.     _Kompatibilitätsmodus_ mit 640x200x4!), im zweiten das Miniprogramm 
  531.     STMED.PRG aus diesem Archiv physikalisch direkt vor MAGXBOOT.PRG 
  532.     plazieren.
  533.  
  534.     Problem:
  535.     Der Festplattentreiber erkennt, von Festplatte gebootet, keine oder 
  536.     nicht alle Platten.
  537.  
  538.     Mögliche Lösung:
  539.     Testweise den FixMe-Bootsektor für Diskettenbetrieb benutzen (dabei den 
  540.     Auto-Ordner auf der Diskette nicht vergessen, siehe 3.4.) oder einen 
  541.     anderen Treiber versuchen (beispielsweise AHDI).
  542.  
  543.     Problem:
  544.     Der Festplattentreiber erkennt, von Diskette geladen, die Platten nicht.
  545.  
  546.     Mögliche Lösung:
  547.     Leider nur die: Anderen Treiber, beispielsweise HDDriver oder AHDI, 
  548.     benutzen, da der momentane Treiber wohl auch beim Booten von Diskette 
  549.     per DMAread auf die Platten zuzugreifen versucht.
  550.  
  551.     Problem:
  552.     Nach dem Starten von MagiC oder nach einem Reset wird nicht von 
  553.     Festplatte gebootet und es erscheint sofort der Desktop mit einem 
  554.     Fileselector, der nach einer auszuführenden Datei fragt.
  555.  
  556.     Mögliche Lösung:
  557.     Mit an Sicherheit grenzender Wahrscheinlichkeit wurde vergessen, die 
  558.     Diskette mit dem FixMe-Bootsektor einzulegen, denn dann kann MagiC 
  559.     nicht richtig booten und findet natürlich auch den Desktop nicht. 
  560.     Dummerweise ist jetzt aber die Resetroutine von MGFPatch nicht mehr 
  561.     aktiv, also muß man einen Kaltstart durchführen.
  562.  
  563.     Problem:
  564.     Die höhere Auflösung erscheint wie gewünscht, aber die Farben sind 
  565.     völlig falsch eingestellt.
  566.  
  567.     Mögliche Lösung:
  568.     Es wurde vergessen, XControl mit Farb-CPX zu aktivieren, da nur so 
  569.     gewährleistet ist, daß die Standardfarben korrekt gesetzt werden.
  570.  
  571.     So, das waren die wichtigsten Sachen, die mir so auf Anhieb einfallen. 
  572.     Wer ein Problem hat, MagiC auf seinem Falcon wie beschrieben zum Laufen 
  573.     zu bringen, das nicht in der obigen Liste auftaucht oder mit den 
  574.     genannten möglichen Lösungen nicht zu beheben ist, sollte sich an mich 
  575.     wenden; ich versuche dann zu helfen, soweit das möglich ist. 
  576.  
  577.  
  578.     8. Meine Adresse und Bankverbindung
  579.     -----------------------------------
  580.  
  581.     Zu erreichen bin ich unter folgender Adresse:
  582.  
  583.     Thomas Binder
  584.     Johann-Valentin-May-Straße 7
  585.     64665 Alsbach-Hähnlein
  586.     Deutschland
  587.  
  588.     Telefon: 0 62 57 / 6 43 04
  589.  
  590.     InterNet: binder@rbg.informatik.th-darmstadt.de
  591.     IRC: Gryf
  592.  
  593.     Meine Bankverbindung:
  594.     Dresdner Bank AG Frankfurt am Main
  595.     Konto-Nr. 9 024 050 00
  596.     BLZ 500 800 00
  597.  
  598.     Ich wäre wirklich froh, wenn jemand bereit wäre, mir meine Mühe zu 
  599.     honorieren. Es muß wirklich nicht viel sein, ich freue mich auch über 
  600.     Disketten, CD-ROMs, Briefe, Postkarten, etc. Auch eine Übersetzung 
  601.     dieses Textes in andere Sprachen (vorrangig Englisch) wäre eine prima 
  602.     Sache!
  603.  
  604.  
  605.     9. Das "Bonbon" ;)
  606.     ------------------
  607.  
  608.     Nicht jeder will dauerhaft mit MagiC arbeiten, und unter Umständen ist 
  609.     es dann nervig oder unerwünscht, einen Kaltstart durchzuführen bzw. den 
  610.     Rechner auszuschalten. Das Miniprogramm KILLMAGX.PRG löst dieses 
  611.     Problem: Einfach aufrufen, und schon bootet der Rechner ohne MagiC. Das 
  612.     Programm ist übrigens so geschrieben, daß es auf allen Rechnertypen, 
  613.     auf denen MagiC benutzt werden kann, laufen sollte.
  614.  
  615.  
  616.     10. Schlußworte
  617.     ---------------
  618.  
  619.     Ich hoffe, daß mit dem vorliegenden Hacks für MagiC 3 viele etwas 
  620.     anfangen und von den neuen Möglichkeiten profitieren können.
  621.  
  622.     Kleiner Tip noch: Wer auf MOD-Files im Hintergrund steht, sollte mal 
  623.     FalcPlay 1.6 im VT52-Fenster probieren, läuft einwandfrei, weil es nur 
  624.     mit direkten Hardwarezugriffen arbeitet. Das ist zwar eigentlich nicht 
  625.     so fein, hier aber natürlich sehr von Nutzen...
  626.  
  627.     Ich wünsche allen viel Erfolg mit MagiC 3 auf dem Falcon!
  628.  
  629.